package com.yida.system.api.domain;

import java.util.ArrayList;
import java.util.List;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.yida.common.core.annotation.Excel;
import com.yida.common.core.web.domain.BaseEntity;

/**
 * 系统地区对象 sys_area
 * 
 * @author hmh
 * @date 2022-11-08
 */
public class SysArea extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 区域ID */
    private Long areaId;

    /** 区域名称 */
    @Excel(name = "区域名称")
    private String areaName;

    /** 区域类型0=省,1=市,2=区,街道 */
    @Excel(name = "区域类型0=省,1=市,2=区,3=街道")
    private Integer areaType;
    
    /** 父节点 */
    private Long parentId;

    /** 排序 */
    @Excel(name = "排序")
    private Integer areaSort;
    
    /** 状态 */
    private String status;
    
    private List<SysArea> children = new ArrayList<SysArea>();

    public void setAreaId(Long areaId) 
    {
        this.areaId = areaId;
    }

    public Long getAreaId() 
    {
        return areaId;
    }
    public void setAreaName(String areaName) 
    {
        this.areaName = areaName;
    }

    public String getAreaName() 
    {
        return areaName;
    }

    public Integer getAreaType() {
		return areaType;
	}

	public void setAreaType(Integer areaType) {
		this.areaType = areaType;
	}

	public void setAreaSort(Integer areaSort) {
		this.areaSort = areaSort;
	}

	public Long getParentId() {
		return parentId;
	}

	public void setParentId(Long parentId) {
		this.parentId = parentId;
	}

    public Integer getAreaSort() 
    {
        return areaSort;
    }

    public String getStatus() {
		return status;
	}

	public void setStatus(String status) {
		this.status = status;
	}

	public List<SysArea> getChildren() {
		return children;
	}

	public void setChildren(List<SysArea> children) {
		this.children = children;
	}

	@Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("areaId", getAreaId())
            .append("areaName", getAreaName())
            .append("areaType", getAreaType())
            .append("parentId", getParentId())
            .append("areaSort", getAreaSort())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .append("children", getChildren())
            .toString();
    }
}
